import subprocess

# run是一个阻塞式的
# 第一个参数传入要执行的命令
# shell=True表示在cmd中执行命令
# stdout=subprocess.PIPE表示用subprocess的PIPE(管道〉接收正常的输出信息
# stderr=subprocess.PIPE表示用subprocess的PIPE(管道）接收错误的输出信息
# universal_newlines=True表示输入和输入都用字符串表示（而不是二进制表示)
# sp=subprocess.run("taskkill /F /IM chrome*",shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE,universal_newlines=True)
#
# print(sp)  # 返回值是一个CompletedProcss对象，这个对象包含(args/作入的命令，returncode :如何正常执行结束就是0，stdout =正常的输出信息，stderr=错误的输出信息)
# print(sp.returncode)  # 获取returncode
# print(sp.stdout)  # 获取stdout
# print(sp.stderr)  # 获取stderr

# popen 非阻塞式的
# stdin=subprocess.PIPE 支持输入
sp=subprocess.Popen("taskkill /F /IM chrome*",shell=True,stdin=subprocess.PIPE,stdout=subprocess.PIPE,stderr=subprocess.PIPE,universal_newlines=True)

sp.terminate()
